A distributed ledger may be broadly described as a digital record of asset ownership. There is no central administrator of the ledger, nor is there a central data store. Instead, the ledger is replicated across many participating nodes in a computing environment that may be geographically spread across multiple sites, countries, or institutions. A consensus protocol ensures that each node's copy of the ledger is identical to every other node's copy. As well, the set of copies may be viewed as a single shared ledger. A distributed ledger may be used by asset owners using cryptographic signature technology, for example, to debit their account and credit another's account.
A blockchain is a data structure can be used to implement tamper-resistant distributed ledgers. Multiple nodes follow a common protocol in which transactions from clients are packaged into blocks, and nodes use a consensus protocol to agree on the next block. Blocks carry cumulative cryptographic hashes making it difficult to tamper with the ledger. Each block can have a reference [hash value] to the previous block in time. In addition, each block can comprise its own hash. The blockchain can be traversed traverse backwards (e.g., up the chain).
A blockchain can be either a permissionless blockchain or a permissioned blockchain. Anyone can join a permissionless blockchain and have a copy of the distributed ledger. Bitcoin and Ethereum are examples of permissionless blockchains. Permissionless blockchains allow anonymous participants to maintain the ledgers, while avoiding control by any single entity. However, identity, accountability and auditability are difficult in light of the anonymity. In contrast, permissioned blockchains accept members by invitation, and allow for levels of trust and accountability by allowing explicitly authorized parties to maintain the ledgers.
The Hyperledger Fabric is an example of a permissioned blockchain. The Hyperledger Fabric, as an enterprise-grade, open-source distributed ledger framework and code base, is an implementation of a distributed ledger platform for running smart contracts. It leverages container technology to host smart contracts called “chaincode” that comprise the application logic of the system.
Platform as a Service (PaaS) is a number of cloud services for application development, data management, integration, mobile and Internet of Things (IOT. As the demand from cloud services grows, it would be desirable to provide a blockchain a PaaS cloud service. A blockchain PaaS cloud service can provide a pre-assembled platform for building and running smart contracts and maintaining a tamper-proof distributed ledger, while reducing the need for third-party intermediaries. A PaaS blockchain cloud service can also enable the development of blockchain solutions that leverage other PaaS services.